import request from './request'

/**
 * 评论相关API
 */

/**
 * 获取商品评论列表
 * @param {number} productId - 商品ID
 * @param {Object} params - 查询参数
 * @param {number} params.current - 当前页
 * @param {number} params.size - 每页大小
 * @param {number} params.rating - 评分筛选
 * @returns {Promise} 评论列表响应
 */
export const getProductComments = (productId, params) => {
    return request({
        url: `/api/comments/product/${productId}`,
        method: 'GET',
        params
    })
}

/**
 * 创建商品评论
 * @param {Object} data - 评论数据
 * @param {number} data.productId - 商品ID
 * @param {number} data.orderId - 订单ID
 * @param {number} data.rating - 评分
 * @param {string} data.content - 评论内容
 * @param {Array} data.images - 评论图片
 * @returns {Promise} 创建评论响应
 */
export const createComment = (data) => {
    return request({
        url: '/api/user/comments',
        method: 'POST',
        data
    })
}

// 移除独立的商品评论检查功能，评论状态通过订单评论状态接口获取

/**
 * 获取订单中商品的评论状态
 * @param {number} orderId - 订单ID
 * @returns {Promise} 评论状态映射
 */
export const getOrderItemsCommentStatus = (orderId) => {
    return request({
        url: `/api/user/comments/order/${orderId}/status`,
        method: 'GET'
    })
}

/**
 * 获取用户评论列表
 * @param {Object} params - 查询参数
 * @param {number} params.current - 当前页
 * @param {number} params.size - 每页大小
 * @returns {Promise} 用户评论列表响应
 */
export const getUserComments = (params) => {
    return request({
        url: '/api/user/comments',
        method: 'GET',
        params
    })
}

/**
 * 获取商品评价统计信息
 * @param {number} productId - 商品ID
 * @returns {Promise} 评价统计响应
 */
export const getProductCommentStatistics = (productId) => {
    return request({
        url: `/api/comments/product/${productId}/statistics`,
        method: 'GET'
    })
}

/**
 * 删除用户评论
 * @param {number} commentId - 评论ID
 * @returns {Promise} 删除响应
 */
export const deleteUserComment = (commentId) => {
    return request({
        url: `/api/user/comments/${commentId}`,
        method: 'DELETE'
    })
}
